package pascalcompiler.core;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 *
 * @author Eduardo Freire
 */
public class Identificador {
    private int natureza;
    private int tipo;
    private List<Integer> parametros;

    public Identificador(int natureza, int tipo) {
        this.natureza = natureza;
        this.tipo = tipo;

        if(natureza == Complicador.FUNC || natureza == Complicador.PROC) {
            parametros = new ArrayList<Integer>();
        }
    }

    public List<Integer> getParametros() throws Exception {
        return parametros;
    }

    public int getNatureza() {
        return natureza;
    }

    public int getTipo() {
        return tipo;
    }

    public void setTipo(int tipo) {
        this.tipo = tipo;
    }

    public void addParametro(int n, int tipo) {
        for(int i = 0; i < n; i++) {
            parametros.add(tipo);
        }
    }

    public void printParametros() {
        if(parametros != null) {
            System.out.println("----PARAMETROS----");
            Iterator<Integer> it = parametros.iterator();
            while(it.hasNext()) {
                System.out.print(it.next().intValue() + ", ");
            }
            System.out.println();
        }
    }

}
